import numpy as np
import matplotlib.pyplot as plt

# 设置图片清晰度
#plt.rcParams['figure.dpi'] = 300

# 生成 x 值，范围从 0.01 到 3（不能包含 0，因为对数函数在 0 处无定义），取 1000 个点以保证曲线平滑
x = np.linspace(0.01, 3, 1000)

# 生成指数列表，从 -3 到 3 以 1/3 为步长
exponents = np.arange(-3, 3 + 1/3, 1/3)

# 绘制每条指数曲线
for exponent in exponents:
    y = np.power(x, exponent)
    # 绘制曲线并添加图例
    plt.plot(x, y, label=f'$y = x^{{{exponent:.1f}}}$')

# 设置 x 轴和 y 轴为对数坐标
plt.xscale('log')
plt.yscale('log')

# 添加标题和标签
plt.title('Exponential Curves with Exponents from -3 to 3 in 1/3 Steps (Logarithmic Scale)')
plt.xlabel('x (Log Scale)')
plt.ylabel('y (Log Scale)')

# 添加网格线
plt.grid(True)

# 显示图例
plt.legend()

# 显示图像
plt.show()
